#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#define N 32

int main(int argc, char const *argv[])
{
    int fd = -1;
    off_t offset = -1;
    char buf[32]={0};
    fd = open("file.txt", O_RDWR | O_CREAT | O_TRUNC , 0664); //在当前目录下创建一个可读可写file.txt文件，文件存在则清空，不存在则创建，返回文件描述符fd
    if (fd < 0){
        fprintf(stderr, "open failed");  //把错误输出到标准错误流中(无缓冲)
        return -1;
    }

    write(fd,"hello world!",sizeof("hello world!")); //往file.txt文件中写入hello world!
    lseek(fd, 0, SEEK_SET); //把读写指针偏移会文件开始位置
    read(fd, buf, sizeof(buf)); //读取file.txt文件内容到buf中
    printf("buf = %s\n",buf); //打印buf数据终端显示

    close(fd); //关闭文件描述符
    return 0;
}
